<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Finalizer (Guava: Google Core Libraries for Java - r08)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Finalizer (Guava: Google Core Libraries for Java - r08)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?com/google/common/base/internal/Finalizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Finalizer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.google.common.base.internal</FONT>
<BR>
Class Finalizer</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.common.base.internal.Finalizer</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Finalizer</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></DL>
</PRE>

<P>
Thread that finalizes referents. All references should implement
 <code>com.google.common.base.FinalizableReference</code>.

 <p>While this class is public, we consider it to be *internal* and not part
 of our published API. It is public so we can access it reflectively across
 class loaders in secure environments.

 <p>This class can't depend on other Google Collections code. If we were
 to load this class in the same class loader as the rest of
 Google Collections, this thread would keep an indirect strong reference
 to the class loader and prevent it from being garbage collected. This
 poses a problem for environments where you want to throw away the class
 loader. For example, dynamically reloading a web application or unloading
 an OSGi bundle.

 <p><code>com.google.common.base.FinalizableReferenceQueue</code> loads this class
 in its own class loader. That way, this class doesn't prevent the main
 class loader from getting garbage collected, and this class can detect when
 the main class loader has been garbage collected and stop itself.
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html?is-external=true" title="class or interface in java.lang.reflect">Field</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/google/common/base/internal/Finalizer.html#getInheritableThreadLocalsField()">getInheritableThreadLocalsField</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/google/common/base/internal/Finalizer.html#run()">run</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loops continuously, pulling references off the queue and cleaning them up.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/ref/ReferenceQueue.html?is-external=true" title="class or interface in java.lang.ref">ReferenceQueue</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/google/common/base/internal/Finalizer.html#startFinalizer(java.lang.Class, java.lang.Object)">startFinalizer</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;finalizableReferenceClass,
               <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;frq)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts the Finalizer thread.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#countStackFrames()" title="class or interface in java.lang">countStackFrames</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang">currentThread</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#destroy()" title="class or interface in java.lang">destroy</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang">dumpStack</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread[])" title="class or interface in java.lang">enumerate</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang">getAllStackTraces</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang">getContextClassLoader</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lang">getId</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang">getName</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang">getPriority</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang">getState</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang">getThreadGroup</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang">getUncaughtExceptionHandler</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang">holdsLock</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang">interrupt</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang">interrupted</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#isAlive()" title="class or interface in java.lang">isAlive</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang">isDaemon</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#isInterrupted()" title="class or interface in java.lang">isInterrupted</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#join()" title="class or interface in java.lang">join</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#join(long)" title="class or interface in java.lang">join</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#join(long, int)" title="class or interface in java.lang">join</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#resume()" title="class or interface in java.lang">resume</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader(java.lang.ClassLoader)" title="class or interface in java.lang">setContextClassLoader</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setDaemon(boolean)" title="class or interface in java.lang">setDaemon</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setName(java.lang.String)" title="class or interface in java.lang">setName</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setPriority(int)" title="class or interface in java.lang">setPriority</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setUncaughtExceptionHandler</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#sleep(long)" title="class or interface in java.lang">sleep</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#sleep(long, int)" title="class or interface in java.lang">sleep</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang">start</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang">stop</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#stop(java.lang.Throwable)" title="class or interface in java.lang">stop</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#suspend()" title="class or interface in java.lang">suspend</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#yield()" title="class or interface in java.lang">yield</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="startFinalizer(java.lang.Class, java.lang.Object)"><!-- --></A><H3>
startFinalizer</H3>
<PRE>
public static <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/ref/ReferenceQueue.html?is-external=true" title="class or interface in java.lang.ref">ReferenceQueue</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>startFinalizer</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;finalizableReferenceClass,
                                                    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;frq)</PRE>
<DL>
<DD>Starts the Finalizer thread. FinalizableReferenceQueue calls this method
 reflectively.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>finalizableReferenceClass</CODE> - FinalizableReference.class<DD><CODE>frq</CODE> - reference to instance of FinalizableReferenceQueue that started
  this thread
<DT><B>Returns:</B><DD>ReferenceQueue which Finalizer will poll</DL>
</DD>
</DL>
<HR>

<A NAME="run()"><!-- --></A><H3>
run</H3>
<PRE>
public void <B>run</B>()</PRE>
<DL>
<DD>Loops continuously, pulling references off the queue and cleaning them up.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang"><CODE>Thread.start()</CODE></A>, 
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang"><CODE>Thread.stop()</CODE></A>, 
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html?is-external=true#Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String)" title="class or interface in java.lang"><CODE>Thread.Thread(ThreadGroup, Runnable, String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getInheritableThreadLocalsField()"><!-- --></A><H3>
getInheritableThreadLocalsField</H3>
<PRE>
public static <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html?is-external=true" title="class or interface in java.lang.reflect">Field</A> <B>getInheritableThreadLocalsField</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?com/google/common/base/internal/Finalizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Finalizer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
